﻿using AMAP.Domain;
using AMAP.ServiceInterfaces.Common;
using System.Collections.Generic;
using ExternalOffer = AMAP.Areas.Admin.Models.Basket.AdminBasketCreateViewModel.ExternalOffer;

namespace AMAP.ServiceInterfaces
{
    public interface IProductService : IRepositoryService<Product>
    {
        IList<Product> GetAllFruits();
        IList<Product> GetAllVegetables();
        IList<Product> GetAllOthers();
        /// <summary>
        /// Return the closest product in the database based on it's Name
        /// </summary>
        /// <param name="Offer">The offer-based research</param>
        /// <returns>The closest equivalent product according to available informations</returns>
        /// <remarks>If no such product exists, the method will create one and return the new product</remarks>
        Product GetByExternalOffer(ExternalOffer Offer);
    }

}
